package org.example.warehouse.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.example.order.domain.Order;

import java.math.BigDecimal;

/**
 * 订单详情对象 mall_order_detail
 *
 * @author 小孟微信：xiaomengcode
 * @date 2024-04-12
 */
public class OrderDetail extends Order
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long orderDetailId;

    /** 合同id */
    @Excel(name = "合同id")
    private String contractId;

    /** 订单id */
    @Excel(name = "订单id")
    private Long orderId;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** 仓库Id */
    @Excel(name = "仓库Id")
    private Long warehouseId;

    /** 总数量 */
    @Excel(name = "总数量")
    private Integer num;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private Integer useNum;

    /** 剩余数量 */
    @Excel(name = "剩余数量")
    private Integer remainNum;

    private BigDecimal price;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Long supplierId;

    /**  */
    private String delFlag;

    @Override
    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    @Override
    public Integer getUseNum() {
        return useNum;
    }

    public void setUseNum(Integer useNum) {
        this.useNum = useNum;
    }

    @Override
    public Integer getRemainNum() {
        return remainNum;
    }

    public void setRemainNum(Integer remainNum) {
        this.remainNum = remainNum;
    }

    @Override
    public Integer getStatus() {
        return status;
    }

    @Override
    public BigDecimal getPrice() {
        return price;
    }

    @Override
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public void setOrderDetailId(Long orderDetailId)
    {
        this.orderDetailId = orderDetailId;
    }

    public Long getOrderDetailId()
    {
        return orderDetailId;
    }
    public void setContractId(String contractId)
    {
        this.contractId = contractId;
    }

    public String getContractId()
    {
        return contractId;
    }

    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setWarehouseId(Long warehouseId)
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId()
    {
        return warehouseId;
    }
    public void setNum(Integer num)
    {
        this.num = num;
    }

    public Integer getNum()
    {
        return num;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }


    public void setSupplierId(Long supplierId)
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId()
    {
        return supplierId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderDetailId", getOrderDetailId())
            .append("contractId", getContractId())
            .append("orderId", getOrderId())
            .append("productId", getProductId())
            .append("warehouseId", getWarehouseId())
            .append("num", getNum())
            .append("useNum", getUseNum())
            .append("remainNum", getRemainNum())
            .append("status", getStatus())
            .append("supplierId", getSupplierId())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("remark", getRemark())
            .toString();
    }
}
